package impl

import (
	"log"

	"gitee.com/LangHuaHuachihua/blog-go/apps/user"
	"gitee.com/LangHuaHuachihua/blog-go/conf"
	"gitee.com/LangHuaHuachihua/blog-go/ioc"
	"gorm.io/gorm"
)

// impl包完全内部封装不对外开放
type impl struct {
	db *gorm.DB
}

// 初始化实例的数据库链接
func (i *impl) Init() error {
	db, err := conf.C().Mysql.ORMDB()
	if err != nil {
		log.Panicln("数据库配置错误", err)
		return err
	}

	i.db = db.Debug() //debug 会输出sql'语句
	return nil
}

func (i *impl) Name() string {
	return user.AppName
}

// 注册到ioc容器里
// import _  "111"的形式进行注册
func init() {
	ioc.RegistryController(&impl{})
}
